package com.jiezuo.auth.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jiezuo.common.base.BaseEntity;

import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * @author 庞留杰
 * @version V1.0
 * @description 用户
 * @date 2020/7/22 15:20
 **/
@Data
@TableName(value = "sys_user")//指定表名
//用户")
public class User extends BaseEntity implements Serializable {

    //用户代码")
    private String user_code;

    //用户名/登录名(唯一,不可重复)")
    private String user_name;

    //用户真实姓名")
    private String real_name;

    //密码")
    private String password;

    //密码盐值")
    private String salt;

    //头像")
    private String avatar;

    //邮件")
    private String email;

    //手机号")
    private String phone;

    //状态：0正常，1禁用")
    private String status;

    //备注")
    private String note;

    //openid")
    private String open_id;

    @TableField(exist = false)
    //记住我（0不记住，1记住，默认7天）")
    private String remember_me;

    @TableField(exist = false)
    //验证码")
    private String captcha;

    @TableField(exist = false)
    //初始化验证码获取的KEY")
    private String key;

    @TableField(exist = false)
    //部门ID,可以此部门ID查询用户")
    private String depart_id;

    //性别：0男1女")
    private String sex;

    //用户签名图片")
    private String signed_photos;

    @TableField(exist = false)
    //角色")
    private List<Role> roles;

    @TableField(exist = false)
    //部门")
    private List<Depart> depts;

    //主部门：用户拥有主部门，附属部门")
    private String main_dept;

    //人员类别(1.A类(公司董事长、院长)2.B类(高管团队)3.C类(中层管理)4.D类(其他员工))")
    private String category;

    @TableField(exist = false)
    //主企业")
    private String main_enterprise;

    @TableField(exist = false)
    //主部门名称")
    private String main_dept_name;

//    @TableField(exist = false)
//    //当前部门")
//    private String dept_ancestors;

    @TableField(exist = false)
    //用户IdList")
    private List<String> idList;

    @Deprecated // 后期优化删除
    @TableField(exist = false)
    //部门ids,根据多部门ID查询用户")
    private List<Depart> depart_ids;

    @TableField(exist = false)
    //部门ids,根据多部门ID查询用户")
    private List<String> dept_ids;

    @TableField(exist = false)
    //用户资源组ID，用于工作流")
    private String group_ids;

    @TableField(exist = false)
    //所属企业")
    private String affiliation_enterprise;

    //签名图片路径")
    private String signed_path;

    @TableField(exist = false)
    //从websocket获取的用户id")
    private List<String> userIds;

    //是否参与合同统计")
    private String is_project_contract_statistic;

    //是否外部人员")
    private String is_outer;

    //常用模块：0非常用模块，1常用模块")
    private String common_modules;

    //可见范围：0所有，1研究院，2九州，3独立核算")
    private String visual_range;

    //岗位，多个用逗号分开")
    private String positions;


    @TableField(exist = false)
    //是否九州")
    private String is_jiuzhou;

}
